#include <iostream>
using namespace std;
// g++ -o test_hide test_hide.cc -std=c++11
//基类Base
class Base {
 public:
  void func();
  void func(int);
};
void Base::func() { cout << "Base::func()" << endl; }
void Base::func(int a) { cout << "Base::func(int)" << endl; }

//派生类Derived
class Derived : public Base {
 public:
  void func(const char *);
  void func(bool);
};
void Derived::func(const char *str) { cout << "Derived::func(char *)" << endl; }
void Derived::func(bool is) { cout << "Derived::func(bool)" << endl; }

int main() {
  Derived d;
  char *str = "c.biancheng.net";  // TODO:const char* 与 char*能相互转换？
  d.func(str);
  d.func(true);
  // d.func();    // compile error
  // d.func(10);  // compile error
  d.Base::func();
  d.Base::func(100);

  return 0;
}